package com.jx.driving.response;

import com.jx.driving.message.TimeTerminalResponseMessage;
import com.jx.driving.protocol.terminal.annotation.BcdAnnotation;
import com.jx.driving.protocol.terminal.annotation.ByteAnnotation;
import com.jx.driving.protocol.terminal.annotation.StringAnnotation;
import com.jx.driving.protocol.terminal.annotation.TerminalAnnotation;
import com.jx.driving.protocol.terminal.annotation.WordAnnotation;

@TerminalAnnotation
public class Terminal0x8701Response extends TimeTerminalResponseMessage {

	/**流水号**/
	@WordAnnotation(order = 1)
	private int sequence;
	/**
	 * 结果
	 * 0：成功；1：终端密码不正确；2：终端已被注册；3：终端未完成装车前序操作
	 */
	@ByteAnnotation(order = 2)
	private int result;

	// 只有在成功后才返回以下内容
	/**省域ID**/
	@WordAnnotation(order = 3)
	private int provinceId;
	/**市县域ID**/
	@WordAnnotation(order = 4)
	private int cityId;
	/**终端SIM卡号**/
	@BcdAnnotation(order = 5, value = 8)
	private String sim;
	/**终端类型
	 *1:车载计程计时终端    2:课堂教学计时终端    3:模拟训练计时终端 
	 */
	@ByteAnnotation(order = 6)
	private int type;

	/**
	 * 支持登陆方式
	 * 
	 * 每一位表示一种登录方式，0表示不支持，1表示支持(0100000:表示仅支持二维码登录)
	 *	登录方式及位置
	 *		0:RFID登录
	 *		1:二维码登录
	 *		2:微信二维码登录
	 *		3:人脸识别登录
	 *		4:验证码登录
	 */
	@ByteAnnotation(order = 7)
	private int loginType;

	/**驾校名称**/
	@StringAnnotation(order = 8)
	private String schoolName;

	/**车牌颜色**/
	@ByteAnnotation(order = 9)
	private int signColor;

	/**车辆标识**/
	@StringAnnotation(order = 10)
	private String identification;

	/**设备归属 0 至诚  1 1580 **/
	@ByteAnnotation(order = 11)
	private int deviceBelong;

	/**培训机构编号**/
	@StringAnnotation(order = 12)
	private String inscode;

	/**当前系统时间**/
	@BcdAnnotation(order = 13, value = 7)
	private String sysTime;

	/**拍照时间间隔**/
	@ByteAnnotation(order = 14)
	private int takePhotoInterval;

	public int getSequence() {
		return sequence;
	}

	public void setSequence(int sequence) {
		this.sequence = sequence;
	}

	public int getResult() {
		return result;
	}

	public void setResult(int result) {
		this.result = result;
	}

	public int getProvinceId() {
		return provinceId;
	}

	public void setProvinceId(int provinceId) {
		this.provinceId = provinceId;
	}

	public int getCityId() {
		return cityId;
	}

	public void setCityId(int cityId) {
		this.cityId = cityId;
	}

	public String getSim() {
		return sim;
	}

	public void setSim(String sim) {
		this.sim = sim;
	}

	public int getType() {
		return type;
	}

	public void setType(int type) {
		this.type = type;
	}

	public int getLoginType() {
		return loginType;
	}

	public void setLoginType(int loginType) {
		this.loginType = loginType;
	}

	public String getSchoolName() {
		return schoolName;
	}

	public void setSchoolName(String schoolName) {
		this.schoolName = schoolName;
	}

	public int getSignColor() {
		return signColor;
	}

	public void setSignColor(int signColor) {
		this.signColor = signColor;
	}

	public String getIdentification() {
		return identification;
	}

	public void setIdentification(String identification) {
		this.identification = identification;
	}

	public int getDeviceBelong() {
		return deviceBelong;
	}

	public void setDeviceBelong(int deviceBelong) {
		this.deviceBelong = deviceBelong;
	}

	public String getInscode() {
		return inscode;
	}

	public void setInscode(String inscode) {
		this.inscode = inscode;
	}

	public String getSysTime() {
		return sysTime;
	}

	public void setSysTime(String sysTime) {
		this.sysTime = sysTime;
	}

	public int getTakePhotoInterval() {
		return takePhotoInterval;
	}

	public void setTakePhotoInterval(int takePhotoInterval) {
		this.takePhotoInterval = takePhotoInterval;
	}

	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("Terminal0x8701Response [sequence=");
		builder.append(sequence);
		builder.append(", result=");
		builder.append(result);
		builder.append(", provinceId=");
		builder.append(provinceId);
		builder.append(", cityId=");
		builder.append(cityId);
		builder.append(", sim=");
		builder.append(sim);
		builder.append(", type=");
		builder.append(type);
		builder.append(", loginType=");
		builder.append(loginType);
		builder.append(", schoolName=");
		builder.append(schoolName);
		builder.append(", signColor=");
		builder.append(signColor);
		builder.append(", identification=");
		builder.append(identification);
		builder.append(", deviceBelong=");
		builder.append(deviceBelong);
		builder.append(", inscode=");
		builder.append(inscode);
		builder.append(", sysTime=");
		builder.append(sysTime);
		builder.append(", takePhotoInterval=");
		builder.append(takePhotoInterval);
		builder.append("]");
		return builder.toString();
	}

}
